package com.zzyk.main.model.pojo;

import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import javax.persistence.Transient;
import java.util.Date;

@Data
public class Device {
    /**
     * id列
     */
    private Integer id;

    /**
     * 设备编号
     */
    private String sn;

    /**
     * 设备名称
     */
    private String name;

    /**
     * 设备类型
     */
    private Integer deviceType;

    /**
     * 设备类型 1 最上级
     */
    private Integer typeOne;

    /**
     * 设备类型2 中间层级
     */
    private Integer typeTow;


    /**
     * 设备类型和设备类型表关联
     */
    @Transient
    private String typeOneName;
    /**
     * 设备类型和设备类型表关联
     */
    @Transient
    private String typeTowName;
    /**
     * 设备类型和设备类型表关联
     */
    @Transient
    private String typeThreeName;
    /**
     * 设备类型3 最底层
     */
    private Integer typeThree;

    /**
     * 设备类型 0采集设备 1生产设备
     */
    private Integer type;

    /**
     * MQTT主题
     */
    private String clientId;

    /**
     * 设备状态 1、工作 2、待机 3、关机 4、故障
     */
    private Integer status;

    /**
     * 企业id
     */
    private Integer enterpise;

    /**
     * 设备位置
     */
    private String position;

    /**
     * 采集设备id
     */
    private Integer group;

    /**
     * 采集设备端口(站号)
     */
    private String port;

    /**
     * 设备图片
     */
    private String image;

    /**
     * 维保周期
     */
    private Integer maintenanceCycle;

    /**
     * 上次维保日期
     */
    private Date lastMaintenance;

    /**
     * 上上次维保时间
     */
    private Date previousMaintenance;

    /**
     * 电价(谷)
     */
    private Double minPrice;

    /**
     * 电价(峰)
     */
    private Double maxPrice;

    /**
     * 电价(均)
     */
    private Double avgPrice;

    /**
     * 阈值:标准电压
     */
    private Double standardU;

    /**
     * 阈值:标准电流
     */
    private Double standardI;

    /**
     * 阈值:标准电量
     */
    private Double standardC;

    /**
     * 阈值:最大电压
     */
    private Double maxU;

    /**
     * 阈值:最大电流
     */
    private Double maxI;

    /**
     * 阈值:最大电量
     */
    private Double maxC;

    /**
     * 健康参考值:额定功率
     */
    private Double standardPower;

    /**
     * 公共信息:记录建立时间
     */
    private Date createTime;

    /**
     * 公共信息:记录建立人
     */
    private Integer createBy;

    /**
     * 公共信息:记录更新时间
     */
    private Date updateTime;

    /**
     * 公共信息:记录更新人
     */
    private Integer updateBy;

    /**
     * 1:三相四线 2:三相三线
     */
    private Integer phaseLine;

    /**
     * 采集设备状态更新时间
     */
    private Date collectTime;

    /**
     * 是否删除 1已删除 0未删除
     */
    private Integer isDelete;

    /**
     * 设备状态的电流判断,大于这个值得是工作状态
     */
    private String IAH;

    /**
     * 设备状态的电流判断,小于这个值得是关机状态
     */
    private String IAL;

    /**
     * 变流比范围1-9999
     */
    private Integer currentRatio;
    /**
     * 设备类型名称
     */
    @Transient
    private String deviceTypeName;
    /**
     * 公司名称
     */
    @Transient
    private String eName;
    /**
     * 设备图片文件
     */
    @Transient
    private MultipartFile photoFile;
    /**
     * 设备图片缩略图
     */
    @Transient
    private MultipartFile thumbnail;
    /**
     * 采集设备编号
     */
    @Transient
    private String ceqNumber;
    /**
     * 为1就是修改
     */
    @Transient
    private Integer methodType;
    /**
     * 数据时间
     */
    @Transient
    private Date dataTime;
    @Transient
    private Integer powerSupply;
}